/*
 * @Date: 2023-07-04 15:58:51
 * @LastEditors: bbcef 961166897@qq.com
 * @LastEditTime: 2023-07-11 12:23:27
 * @FilePath: \uni-vitesse\uno.config.ts
 */
import {
  defineConfig,
  presetIcons,
  transformerDirectives,
  transformerVariantGroup,
} from 'unocss'
import presetWeapp from 'unocss-preset-weapp'
import { extractorAttributify, transformerClass } from 'unocss-preset-weapp/transformer'

const transformRules = {
  '.': '-d111-',
  '/': '-s111-',
  ':': '-c111-',
  '%': '-p111-',
  '!': '-e111-',
  '#': '-w111-',
  '(': '-b111l-',
  ')': '-b111r-',
  '[': '-f111l-',
  ']': '-f111r-',
  '$': '-r111-',
  ',': '-r222-',
}
const { presetWeappAttributify, transformerAttributify } = extractorAttributify({
  transformRules,
})
export default defineConfig({
  presets: [
    // 由 Iconify 提供支持的纯 CSS 图标解决方案
    presetIcons({
      scale: 1.2,
      warn: true,
    }),

    /**
     * 微信小程序预设
     * @see https://github.com/MellowCo/unocss-preset-weapp
     */
    presetWeapp(),
  ],
  /**
   * 自定义快捷语句
   * @see https://github.com/unocss/unocss#shortcuts
   */
  shortcuts: [
    ['center', 'flex justify-center items-center'],
    ['btn', 'px-4 py-1 rounded inline-block bg-teal-600 text-white cursor-pointer hover:bg-teal-700 disabled:cursor-default disabled:bg-gray-600 disabled:opacity-50'],
    ['icon-btn', 'text-[0.9em] inline-block cursor-pointer select-none opacity-75 transition duration-200 ease-in-out hover:opacity-100 hover:text-teal-600 !outline-none'],
  ],
  transformers: [
    transformerClass(),
    transformerAttributify(), // 开启属性模式(支持小程序)
    transformerClass({
      transformRules,
    }),
    transformerDirectives(), // 启用 @apply 功能
    transformerVariantGroup(), // 启用 () 分组功能
  ],
  theme: {
    colors: {
      myPrimary: 'red',
    },
  },
})
